﻿using System.Web.UI;
using System.Web.UI.WebControls.WebParts;

namespace Synergy.Web.UI.WebControls.WebParts
{
	/// <summary>
	/// Defines the interface a <see cref="UserControl"/> must define, if it needs to interact with a corresponding 
	/// <typeparamref name="TWebPart"/>.
	/// </summary>
	/// <typeparam name="TWebPart">The type of the web part.</typeparam>
	/// <remarks>
	///		<list type="table">
	///			<listheader><term>Version</term><description>Description</description></listheader>
	///			<item>
	///				<term>1.0</term>
	///				<description>Initial version</description>
	///			</item>
	///		</list>
	/// </remarks>
	public interface IWebPartContentControl<TWebPart> : IWebPartContentControl where TWebPart : IWebPart
	{
		/// <summary>
		/// Gets or sets the web part that wraps this user control.
		/// </summary>
		/// <value>The web part.</value>
		TWebPart WebPart { get; set; }
	}
}